Web browsers are software applications used to render information and perform transactions on websites on the internet. Internet Search Engines crawl websites collecting information and can assist users by reducing the search space down to a manageable number of websites. Websites in turn build interfaces to enable users to find relevant information hosted on the website, by providing varying degrees of search and/or filtering functionality.
Much of the information resulting from searches and filters on websites is published in the form of lists or tables. In this context a list or table is defined as any set of similar blocks of information directly published or dynamically produced from a larger set as the result of a search function on the website. To help the user customize the information presented, websites provide an interface to search and filter information on a limited number of details. The search functions on many websites do not enable filtering based on every possible detail or in every possible logical configuration. When the informational detail of interest to the user is not one of the details that can be filtered, the user must filter the results manually.
The logical rules applied by websites across the various details being filtered are not customizable by the user. Depending on the filter criteria this can result in too many or two few results, where the user must either manually filter the results or potentially miss viable results.
The details of an element in the list may also include a link to different websites for additional details or relevant information regarding the element, however the linkage is based on the convenience of the website and not the user of the website.
As an example, a website selling laptop computers may allow the user to reduce the list of all computers based on the price, manufacturer and other product details. Amongst the details of each computer may be a link to a (favorable) review of the computer. The user, however, may be interested in a computer within a particular price range as well as the manufacturer of the computer and the manufacturer of the graphics card. The user may also be interested in the review of computer on a different site.
A second example would be a website listing homes for sale. The search function on the website may allow the user to search for houses based on areas of the city, price and number of bedrooms. It may also provide a link to a mapping web service. However the user may wish to further filter the results based on age of the home and gather additional details such as neighborhood crime statistics from another web service.
In both the examples, the user must iterate over each result (result element) of the result set, reviewing the details and gather the additional information manually. In both of the examples, this invention would allow the user to define the custom filters as well as the additional sources to gather the external details using one element in the list as an example, and upon the users request perform the filter and gather operations for all of the other elements in the list. This invention, providing a client-side solution to add logical and functional capabilities beyond the options made available by the web page or website and gather other relevant information, helps reduce the search cost for the user.